﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Settings = QLKDS.Properties.Settings;
using QLKDS.DAL;
using QLKDS.Helper;

namespace QLKDS.Forms
{
    public partial class frmLogin : DevExpress.XtraEditors.XtraForm
    {
        private UserManager userManager;
        public frmLogin()
        {
            InitializeComponent();
            this.userManager = new UserManager();
        }

        private void frmLogin_Load(object sender, EventArgs e)
        {
            if (Settings.Default.Remember == true)
            {
                this.txtUsername.Text = Settings.Default.Username;
                this.txtPassword.Text = Settings.Default.Password;
                this.checkRemember.Checked = true;
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            //this.Close();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (this.txtUsername.Text.Trim() == String.Empty)
            {
                this.dxepUsername.SetError(this.txtUsername, "Tên đăng nhập không được bỏ trống");
                this.txtUsername.Focus();
                return;
            }
            else if (this.txtPassword.Text.Trim() == String.Empty)
            {
                this.dxepPassword.SetError(this.txtPassword, "Mật khẩu không được để trống");
                this.txtPassword.Focus();
                return;
            }
            else
            {
                this.dxepUsername.ClearErrors();
                this.dxepPassword.ClearErrors();
            }

          
            if (this.userManager.CheckLogin(this.txtUsername.Text.Trim(), this.txtPassword.Text.Trim()))
            {
                if (this.checkRemember.Checked)
                {
                   
                    Settings.Default.Password = this.txtPassword.Text.Trim();
                    Settings.Default.Remember = true;
                    Settings.Default.Save();
                }
                else
                {
                  
                    Settings.Default.Password = null;
                    Settings.Default.Remember = false;
                    Settings.Default.Save();
                }
                //Lưu thông tin username để lấy thông tin người dùng trong chương trình
                Settings.Default.Username = this.txtUsername.Text.Trim();
                Settings.Default.Save();
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                XtraMessageBox.Show("Đăng nhập không thành công.Kiểm tra lại thông tin", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void txtUsername_EditValueChanged(object sender, EventArgs e)
        {
            if (this.txtUsername.Text.Trim() != String.Empty)
            {
                dxepUsername.ClearErrors();
            }
        }

        private void txtPassword_EditValueChanged(object sender, EventArgs e)
        {
            if (this.txtPassword.Text.Trim() != String.Empty)
            {
                dxepPassword.ClearErrors();
            }
        }

        
    }
}